chore(release): 2.0.0-rc.5 - #388
Merged
Merged
Conversation
Takes up the analyzer pins (codeanalyzer-python 1.5.1, codeanalyzer-java 3.1.2, codeanalyzer-typescript 1.5.3) and the schema-mirror relax from extra="forbid" to extra="ignore". The changelog entry states the cost of the relax rather than only its benefit: forbid was the drift detector, and under ignore an analyzer addition is absorbed silently. It also records what the relax does not cost — extra does not govern required fields, so a 1.x analysis.json is still refused rather than parsed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cuts
2.0.0-rc.5offrelease/2.0, which now carries both #385 and #387.Touches exactly three files, the same three as every prior rc bump:
pyproject.toml,uv.lock,CHANGELOG.md.What rc.5 carries
The analyzer pins (#384, merged as 5414c03) —
codeanalyzer-python==1.5.1,codeanalyzer-java==3.1.2,codeanalyzer-typescript==1.5.3. All three shipped the same fixin lockstep:
param_in/param_outedges now name the bound formal invar. Measured on anrc.4 graph,
varwas null on 4 of 4PY_PARAM_INand 6 of 6PY_PARAM_OUTwhile all 44PY_DDGcarried it, so a consumer predicate onvarevaluated to null on every edge crossinga call boundary — and under three-valued logic an
all()over that null excludes the wholepath, turning an interprocedural flow into a proved absence of flow. No analyzer floor moves;
the fix only adds a property, so raising a floor would refuse graphs that still work.
The mirror relax (#386, merged as 96c0a7b) —
_Baseincldk/models/javaandcldk/models/typescriptgoes fromextra="forbid"toextra="ignore", plusJCompilationUnit,which overrides
model_configwholesale and so never inherited it.JCallableOverviewandJClassOverviewkeepforbid: nothing callsmodel_validateon them, so strictness therecatches our own typo'd kwarg rather than the analyzer's additions.
Verification
No CI reported on either merged PR, so the gate ran locally on this exact tree:
After merge
Tag
v2.0.0-rc.5onrelease/2.0, which fires the release workflow.mainstays on the 1.xline — every rc so far has been cut from
release/2.0, andmainis 222 commits behind it.